Asset Store资源商店实用物理脚本插件集锦
上周我们为大家介绍了Asset Store资源商店中几款比较好玩的AI插件,可以帮助开发者轻松解决项目中的AI系统设计。今天将继续为大家分享一些让开发项目迅速提升的物理脚本插件,通过它们您很容易就能实现适合各种材质的不同物理效果。
Obi - Advanced Cloth Simulation
Obi - Advanced Cloth Simulation是用于在Unity中模拟布料效果的插件,不仅适用于Windows与Mac,还支持移动平台iOS及Android。Obi Cloth是基于CPU计算的实时物理框架,其模块化的设计将性能把控得非常好,仅使用布料效果所必须的约束。
Obi支持蒙皮网格,对常规布料与角色布料均有统一的解决方案。它支持双向刚体互动,通过体积约束来模拟柔性物体的物理效果,还支持盒式、球体、胶囊、网格及地形等多种碰撞器,并提供基于Unity标准着色器的双面着色器。
Obi的操作使用也很便利,仅需ObiCloth脚本、网格拓扑ObiMeshTopology以及Solver即可。ObiCloth脚本用于将所有带有MeshRenderer或SkinnedMeshRenderer组件的对象转换为布料。为对象新建Obi布料有两种方式:第一种方式是选中对象后依次点击菜单项Component -> Physics -> Obi -> Obi Cloth添加ObiCloth组件,第二种是直接在检视面板中点击添加组件按钮,找到Obi Cloth并添加到GameObject上。
Obi Mesh Topology的添加可以通过在项目视图依次点击菜单项Create -> Obi -> Obi Mesh Topology来实现。如果多个布料对象使用同样的网格,这些对象也可以共用ObiMeshTopology。在ObiMeshTopology面板选中将要模拟布料的网格,点击“Generate”按钮即可生成该网格的拓扑信息。网格密度越大,该过程耗时越长。
对于ObiSolver组件,首先就需要回到ObiCloth组件,点击“Initialize”按钮,ObiCloth就会知道如何使用粒子及约束来处理布料的拓扑信息,借助ObiSolver组件来模拟布料的物理反馈。前提是,确保ObiSolver组件的最大粒子数量要大于布料对象的顶点总数,该数量默认为5000。ObiSolver组件可以添加到场景中任意对象上,然后将该对象赋给ObiCloth组件的Solver属性即可。
凭借Obi - Advanced Cloth Simulation可以轻松实现以下效果:
柔性布料
弹性球体
旗帜
下载地址:
https://www.assetstore.unity3d.com/en/#!/content/40758
PuppetMaster
PuppetMaster是一款用于模拟人物关节运动的插件,其中包含完善的人偶创建与编辑工具。您可以直接在场景视图中,非常直观地编辑人偶的碰撞器与关节约束,还可以为人偶添加程序性的行为。与Unity内置IK工具完美兼容,并且也支持移动平台。
PuppetMaster提供了非常易用的编辑器BipedRagdollCreator,用于可视化创建并编辑双足角色,几乎也适用于所有的四肢动物。PuppetMaster的操作非常简单:首先拖拽角色模型至场景,并为其绑定BipedRagdollCreator组件。如果该角色类型为Humanoid,PuppetMaster会自动为其添加骨骼引用,如果为其它类型,则需要手动添加。
接着,您可以点击下方的“Create a Ragdoll”将角色转换为可编辑的Ragdoll,检视面板也会出现Ragdoll各个部位所对应的碰撞器类型及属性。
到此可自动编辑的部分就配置完成了,在检视面板更改一些设置即可设置角色的关节与骨骼等属性。如果以上简单设置不能满足要求,还可以“Start Editing Manually”按钮进行手动编辑。
下载地址:
https://www.assetstore.unity3d.com/en/#!/content/48977
Off-road Vehicle Physics Kit
Off-road Vehicle Physics Kit是用于在Unity中模拟越野车及重型卡车行为的插件,包含一些脚本与不同的车辆模型,脚本轻量且易于使用及自定义。另外,该插件还提供了相对完善的Demo场景,可直接用于赛车模拟类游戏。
Off-road Vehicle Physics Kit为每辆车都提供多个车轴,并且拥有逼真的动力系统来模拟可调整的齿轮比、相似的功率曲线、扭矩计算以及基于抓地力的分布等等。
如果您想要自己设置车辆模型,操作也不复杂。您可以新建游戏对象,命名为“Root”。将车辆所有部位均包含在该游戏对象下,为其添加Rigidbody组件,并设置Tag为“Vehicle”。在“Root”下新建游戏对象“Fix”,用于控制车身的旋转,以免与根结点控制的轮胎物理行为产生冲突。在“Fix”下新建4个子对象,分别表示车身与车轮,以及它们对应的碰撞器。
设置好车辆的游戏对象后,接着便是添加一些必要的脚本并进行相应的设置。为“Root”对象添加“CarController”脚本,使用脚本设置的默认值即可正常模拟车辆行为,也可以根据自己的需求进行更改。然后在场景中的Main Camera上添加“DefaultCamera”脚本,并将“Root”对象赋值给该脚本的“Target Look At”字段。
到此就设置基本完成,效果如下:
下载地址:
https://www.assetstore.unity3d.com/en/#!/content/39946
总结
今天介绍的几款物理脚本插件可满足游戏中多种物理模拟的需求,希望能对大家正在开发的项目有所帮助。将来,我们还会继续为大家分享Asset Store中深受开发者喜爱的优秀插件,请保持关注哦!